2、给定权集为{2,4,1,10,5,11,3,9},试画出相应的哈夫曼树,并写出相应的哈夫曼编码。

来源:百度知道 编辑:UC知道 时间:2024/09/26 20:16:52
2、给定权集为{2,4,1,10,5,11,3,9},试画出相应的哈夫曼树,并写出相应的哈夫曼编码。

我的神:四五年前的东西,刚刚看了一样的题目,做下,练练手。

哈夫曼树的构造规则为:  

(1) 将2,4,1,10,5,11,3,9看成是有n 棵树的森林(每棵树仅有一个结点);   

(2) 在2,4,1,10,5,11,3,9森林中选出两个根结点的权值最小的树合并,(即1,2) 

作为一棵新树的左、右子树,且新树的根结点权值为其左、右子树根结点权值之和; 

(3)从森林中删除选取的两棵树(即1,2),并将新树(3)加入森林;  权值数列为(3,4,10,5,11,3,9) 

(4)重复(2)、(3)步,直到森林中只剩一棵树为止,该树即为所求得的哈夫曼树

哈夫曼树编码

在树中令所有左分支取编码为 0 ,令所有右分支取编码为1。将从根结点起到某个叶子结点路径上的各左、右分支的编码顺序排列,就得这个叶子结点所代表的字符的二进制编码:

定权为2 所对应的字符哈夫曼编码为:11111

定权为4 所对应的字符哈夫曼编码为:000

定权为1 所对应的字符哈夫曼编码为:11110

定权为10所对应的字符哈夫曼编码为:01

定权为5 所对应的字符哈夫曼编码为:001

定权为11所对应的字符哈夫曼编码为:10

定权为3 所对应的字符哈夫曼编码为:1110

定权为9 所对应的字符哈夫曼编码为:110

 

给定an=log<n+1>(n+2),n属于N+,定义使a1*a2*...ak为整数的k,k属于N+,叫企盼数. 在平面直角坐标系XOY中,给定两点M(-1,2) N(1,4) ,点P在X轴上移动,当角MPN取最大值时,点P的横坐标为? 给定抛物线C:y^2=4x,F是C的焦点,过点F的直线l与C相交于A,B两点,设直线l的斜率为1, 在给定的椭圆中,过焦点且垂直于长轴的弦长为(根号2},焦点到相应准线的距离为1,则该椭圆的离心率为多少??? X^2-2X+1。.给定[a,b]=[0,1],ε=0.2 求lim((e^x+e^2x+e^3x……e^nx)/n)^(1/x),n为给定的自然数,lim下面的约束条件为x~0 任意给定正整数N,使(a的b次方)加1为素数(b=2的N次方)的正整数a的个数是否一定不小于2的(N-1)次方? 给定三组数:1,2,3=7;2,4,6=28;4,3,5=25;按照前三组数字计算规律求5,1,6=? 达到给定的精度1e-6 急~~~请问如何用c语言将给定二维数组加上一个全部为1的外框?